What is qrcode-generator?
The qrcode-generator npm package is a versatile tool for generating QR codes in various formats and configurations. It supports different error correction levels, QR code versions, and allows customization of the output format (e.g., HTML, SVG, and canvas).
What are qrcode-generator's main functionalities?
Generate QR Code in HTML
This feature allows you to generate a QR code and output it as an HTML image tag. The code sample demonstrates creating a QR code with low error correction level and version 4, adding data to it, and generating an HTML image tag.
const QRCode = require('qrcode-generator');
const qr = QRCode(4, 'L');
qr.addData('Hello, world!');
qr.make();
console.log(qr.createImgTag());
Generate QR Code in SVG
This feature allows you to generate a QR code and output it as an SVG tag. The code sample demonstrates creating a QR code with low error correction level and version 4, adding data to it, and generating an SVG tag.
const QRCode = require('qrcode-generator');
const qr = QRCode(4, 'L');
qr.addData('Hello, world!');
qr.make();
console.log(qr.createSvgTag());
Generate QR Code in Canvas
This feature allows you to generate a QR code and render it on an HTML canvas element. The code sample demonstrates creating a QR code with low error correction level and version 4, adding data to it, and rendering it on a canvas.
const QRCode = require('qrcode-generator');
const qr = QRCode(4, 'L');
qr.addData('Hello, world!');
qr.make();
const canvas = document.createElement('canvas');
const context = canvas.getContext('2d');
qr.renderTo2dContext(context);
Other packages similar to qrcode-generator
qrcode
The 'qrcode' package is another popular library for generating QR codes. It supports various output formats including PNG, SVG, and terminal output. Compared to qrcode-generator, it offers more modern features and better integration with Node.js.
qr-image
The 'qr-image' package is a simple and fast QR code generator that supports output in PNG, SVG, PDF, and EPS formats. It is known for its performance and ease of use, making it a good alternative to qrcode-generator for generating QR codes in different file formats.
node-qrcode
The 'node-qrcode' package is a versatile QR code generator that supports various output formats including PNG, SVG, and Data URL. It offers a promise-based API and is well-suited for modern JavaScript applications. It provides more flexibility and modern features compared to qrcode-generator.
QR Code Generator
Getting Started
- Include qrcode.js in your html.
- Prepare a place holder.
- Generate QR and render it.
<script type="text/javascript" src="qrcode.js"></script>
<div id="placeHolder"></div>
var typeNumber = 4;
var errorCorrectionLevel = 'L';
var qr = qrcode(typeNumber, errorCorrectionLevel);
qr.addData('Hi!');
qr.make();
document.getElementById('placeHolder').innerHTML = qr.createImgTag();
API Documentation
QRCodeFactory
qrcode(typeNumber, errorCorrectionLevel) => QRCode
Create a QRCode Object.
Param | Type | Description |
---|
typeNumber | number | Type number (1 ~ 40), or 0 for auto detection. |
errorCorrectionLevel | string | Error correction level ('L', 'M', 'Q', 'H') |
qrcode.stringToBytes(s) : number[]
Encodes a string into an array of number(byte) using any charset.
This function is used by internal.
Overwrite this function to encode using a multibyte charset.
Param | Type | Description |
---|
s | string | string to encode |
QRCode
addData(data, mode) => void
Add a data to encode.
Param | Type | Description |
---|
data | string | string to encode |
mode | string | Mode ('Numeric', 'Alphanumeric', 'Byte'(default), 'Kanji') |
make() => void
Make a QR Code.
getModuleCount() => number
The number of modules(cells) for each orientation.
[Note] call make() before this function.
isDark(row, col) => boolean
The module at row and col is dark or not.
[Note] call make() before this function.
Param | Type | Description |
---|
row | number | 0 ~ moduleCount - 1 |
col | number | 0 ~ moduleCount - 1 |
createDataURL(cellSize, margin) => string
createImgTag(cellSize, margin, alt) => string
createSvgTag(cellSize, margin) => string
createTableTag(cellSize, margin) => string
createASCII(cellSize, margin) => string
Helper functions for HTML.
[Note] call make() before these functions.
Param | Type | Description |
---|
cellSize | number | default: 2 |
margin | number | default: cellSize * 4 |
alt | string | (optional) |
createSvgTag(opts) => string
Param | Type | Description |
---|
opts | object | default: {} |
opts.cellSize | number | default: 2 |
opts.margin | number | default: cellSize * 4 |
opts.scalable | boolean | default: false |
renderTo2dContext(context, cellSize) => void
--
This implementation is based on JIS X 0510:1999.
The word 'QR Code' is registered trademark of DENSO WAVE INCORPORATED
http://www.denso-wave.com/qrcode/faqpatent-e.html